// app.js


import Store from './utils/store_copy.js';

const store = new Store({
  state: {
    /*
    0、温度 1、温度单位 2、开关灯状态 3、灯光亮度 4、延迟关灯状态 5、延迟关灯时间
    6、是否12小时制  7、整时报点  8、音量 9、铃声渐强 10、倒计时开关状态 11、倒计时时间
    12、正计时开个状态 13、正计时时间 14、闹钟响铃呼吸灯
    */
    music_ring:'',
    bleStore: [25, 0, 0, 50, 0, 1, 0, 0, 25, 0, 0,1,0,1,0], //本地数据缓存
    bleTx: [], //需要发送的数据包,
    bleUser: { //存储特征
      deviceId: '',
      serviceId: '',
      characteristicId: '',
    },
    alarm_list: [{
        id: 1,
        alarm_tm_hour1: 9, //闹钟一
        alarm_tm_min1: 30,
        alarm_state1: 0,
        alarm_play_time1: 127, //每天
        alarm_ring_tone1: 3,
        alarm_over_sleeping1: 1,
      },
      {
        id: 2,
        alarm_tm_hour1: 13, //闹钟二
        alarm_tm_min1: 30,
        alarm_state1: 0,
        alarm_play_time1: 75, //不选星期
        alarm_ring_tone1: 4,
        alarm_over_sleeping1: 0,
      },
      {
        //闹钟三
        id: 3,
        alarm_tm_hour1: 21, //时
        alarm_tm_min1: 30, //分
        alarm_state1: 0, //闹钟状态 传 0 关 1开
        alarm_play_time1: 65, //周六日 0 关  1开
        alarm_ring_tone1: 2, //铃声  共 5 首铃声 传 0 到 4
        alarm_over_sleeping1: 1, //是否贪睡
      },
    ],
  }
});

App({
  onLaunch() {
    this.autoUpdate(); //检查版本
    //this.checkPhoneInfo()//判断系统版本、微信版本、定位服务等权限和信息
  },

  onLaunch: function () {
    this.globalData.sysinfo = wx.getSystemInfoSync()
  },

  getModel: function () { //获取手机型号
    return this.globalData.sysinfo["model"]
  },
  getVersion: function () { //获取微信版本号
    return this.globalData.sysinfo["version"]
  },
  getSystem: function () { //获取操作系统版本
    return this.globalData.sysinfo["system"]
  },
  getPlatform: function () { //获取客户端平台
    return this.globalData.sysinfo["platform"]
  },
  getSDKVersion: function () { //获取客户端基础库版本
    return this.globalData.sysinfo["SDKVersion"]
  },


  autoUpdate: function () {
    console.log(new Date())
    var self = this
    // 获取小程序更新机制兼容
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager()
      //1. 检查小程序是否有新版本发布
      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          //2. 小程序有新版本，则静默下载新版本，做好更新准备
          updateManager.onUpdateReady(function () {
            console.log(new Date())
            wx.showModal({
              title: '更新提示',
              content: '新版本已经准备好，是否重启应用？',
              success: function (res) {
                if (res.confirm) {
                  //3. 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate()
                } else if (res.cancel) {
                  //如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了
                  wx.showModal({
                    title: '温馨提示~',
                    content: '本次版本更新涉及到新的功能添加，旧版本无法正常访问的哦~',
                    success: function (res) {
                      self.autoUpdate()
                      //   return;                 
                      //第二次提示后，强制更新                      
                      if (res.confirm) {
                        // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                        updateManager.applyUpdate()
                      } else if (res.cancel) {
                        //重新回到版本更新提示
                        self.autoUpdate()
                      }
                    }
                  })
                }
              }
            })
          })
          updateManager.onUpdateFailed(function () {
            // 新的版本下载失败
            wx.showModal({
              title: '已经有新版本了哟~',
              content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~',
            })
          })
        }
      })
    } else {
      // 如果希望用户在最新版本的客户端上体验小程序，可以这样子提示
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
  globalData: {
    userInfo: null
  },
  store: store
})